#include <stdio.h>

// 用typedef声明新类型名
typedef struct Date Date;
// 声明一个结构体类型 struct Date
struct Date {
    int year;  // 年
    int month; // 月
    int day;   // 日
};

typedef struct Student Student;
struct Student {
    int num;              // 学号为整型
    char name[20];        // 姓名为字符串
    char sex;             // 性别为字符型
    int age;              // 年龄为整型
    float score;          // 成绩为实型
    Date birthday; // 出生日期
};

void printStudent(Student stu) {
    printf("学号：%d", stu.num);
    printf("，姓名：%s", stu.name);
    printf("，性别：%c", stu.sex);
    printf("，年龄：%d", stu.age);
    printf("，成绩：%.1f", stu.score);
    printf("，出生日期：%d-%d-%d\n",
           stu.birthday.year, stu.birthday.month, stu.birthday.day);
}

int main() {
    // 1. 定义结构体变量stu1, 初始化
    Student stu1 = {101, "Li Ming", 'M', 18, 90.5, {2000, 9, 10}};
    printStudent(stu1);
    return 0;
}